package me.zhengjie.modules.website.service;

import me.zhengjie.modules.website.domain.ColumnTable;
import org.springframework.data.domain.Pageable;
import me.zhengjie.modules.website.domain.PageResult;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author system
 * @since 2024-09-26 16:06:29
 */
public interface  ColumnTableService {

    PageResult<ColumnTable> findPage(ColumnTable params, LocalDateTime startDate, LocalDateTime endDate, Pageable pageable);

    List<ColumnTable> findList(ColumnTable params);

    ColumnTable findById(Long id);

    ColumnTable insert(ColumnTable columnTable);

    ColumnTable update(ColumnTable columnTable);

    void delete(Long id);

    List<ColumnTable> getAllColumnsWithChildren();

    List<ColumnTable> findByIds(List<Long> columnIds);

    List<Long> getAllSubColumnIds(Long columnId);
}
